/**
 *
 */
package com.nightwalker.xsite.delegate;

import com.nightwalker.xsite.bean.ArquivoBean;
import com.nightwalker.xsite.bean.ObraBean;
import com.nightwalker.xsite.bean.ObraBeanPesquisa;
import com.nightwalker.xsite.dao.Dao;
import com.nightwalker.xsite.dao.ObraDAO;
import com.nightwalker.xsite.infra.ErroDeSistemaException;

/**
 * ObraDelegate <br>
 * <br>
 * <b>Description:</b> Classe para manipulação de Obras. <br>
 * <br>
 * Created in Jan 27, 2008 3:54:32 PM <br>
 * <b>version:</b> <br>
 * <b>Modifications:</b>
 */
public class ObraDelegate extends BusinessDelegate {
	public void incluirObra(ObraBean obra) throws ErroDeSistemaException {
		// TODO Talvez criar um factory pros DAOS?
		log.debug("Iniciando delegate de inclusão de obra");

		Dao obraDAO = new ObraDAO();

		try {
			((ObraDAO) obraDAO).inserirObra(obra);
		} finally {
			obraDAO.closeConnection();
		}
	}

	public ObraBeanPesquisa pesquisarObra(ObraBeanPesquisa obra) throws ErroDeSistemaException{
		log.debug("Iniciando delegate de pesquisa de obra");
		Dao obraDAO = new ObraDAO();

		try {
			return ((ObraDAO) obraDAO).pesquisarObra(obra);
		} finally {
			obraDAO.closeConnection();
		}
	}

	public ArquivoBean retrieveArquivo(int chave) throws ErroDeSistemaException {
		log.debug("Iniciando delegate de recuperação de arquivo");
		Dao obraDAO = new ObraDAO();

		try {
			return ((ObraDAO) obraDAO).retrieveArquivo(chave);
		} finally {
			obraDAO.closeConnection();
		}
	}
}
